package net.imagine.backend.mockrmi;

/**
 * 服务组件绑定器
 * 
 * @author wuqh
 */
public interface ServiceBinder {
	/**
	 * 绑定一个服务组件到服务器，如果id已经存在则不绑定。
	 * 
	 * @param port
	 *            服务器端口号
	 * @param id
	 *            注册的服务对象id，每个端口上的id必须唯一
	 * @param target
	 *            注册的服务对象
	 */
	public void bind(int port, String id, Object target);

	/**
	 * 重新绑定一个服务组件到服务器,如果id已经存在则替换原有组件。
	 * 
	 * @param port
	 *            服务器端口号
	 * @param id
	 *            注册的服务对象id，每个端口上的id必须唯一
	 * @param target
	 *            注册的服务对象
	 */
	public void rebind(int port, String id, Object target);

	/**
	 * 取消服务器上绑定的服务组件。
	 * 
	 * @param port
	 *            服务器端口号
	 * @param id
	 *            注册的服务对象id，每个端口上的id必须唯一
	 */
	public void unbind(int port, String id);
}
